package day05;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class 考试 {
    public static void main(String[] args) {


        /**
         * 1).多线程生命周期
         * 新建,就绪,阻塞,执行,死亡
         * 2).sleep()和wait()区别
         * Thread类 sleep不会释放锁 可以在任意地方调用
         * objec类 wait 释放锁   同步代码块和同步方法使用
         * 3).String StringBuilder Stringbuffer
         *  String:长度不变,线程安全
         *  StringBuilder:长度可变,线程不安全
         *  StringBuffer:长度可变,线程安全
         */
        //4.
        String s1 = "abc";
        String s2 = "abc";
        String s3 = new String("abc");
        System.out.println(s1==s2);
        System.out.println(s1==s3);
        /**
         * 5).常用响应状态码
         * 500:服务器内部错误
         * 404:请求资源未找到
         * 302:重定向
         * 200:正常
         * 6).请求转发和请求重定向的区别
         * 重定向:服务器两次请求,地址栏变换,可以定向的其他服务器
         * 转发:一次请求,不变,服务器内部
         * 7).Servlet中的四大域对象以及作用范围
         * HttpSession会话域 一次会话,多次请求
         * pageContext页面域  当前页面中
         * requset请求域  一次请求
         * ServletContext应用域 整个应用
         * 8).九大隐式对象
         * request,response,out,session,application,config,pageContext,page,Exception
         * 9).JSP中的三大指令
         * page指令
         * include指令
         * taglib指令
         *
         */
        HashMap<String, Integer> map = new HashMap<>();
        map.put("tom",18);
        map.put("jack",18);
        map.put("rose",20);

        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        Iterator<Map.Entry<String, Integer>> it = entries.iterator();
        while (it.hasNext()){
            Map.Entry<String, Integer> next = it.next();
            String key = next.getKey();
            Integer value = next.getValue();
            System.out.println(key+"="+value);
        }
        Set<String> set = map.keySet();
        for (String s : set) {
            Integer integer = map.get(s);
            System.out.println(s+""+integer);
        }


    }
}
